$(document).ready(function () {

	var funcTree = $("#func-tree").jstree({
        "core": {
            "animation": 0,
            "check_callback": true,
            "themes": { "stripes": false },
            'data': {
                'url': "/hs/webrole/getFuncList",
                "dataType": "json",
                'data': function (node) {
                    return { 'id': node.id };
                }
            }
        },
        "checkbox": {
            "keep_selected_style": false,
            "tie_selection": false,
            "three_state":false
        },
        "plugins": ["checkbox"]

    }).on("ready.jstree", function (event, data) {

    	hideLoading('loadingFuncImg');

    }).on("check_node.jstree", function (e, data) {

       	if ($('#role-id').val() != "" && $('#func-ids').val().indexOf(data.node.id) < 0) {
                
       		createRoleFunc($('#role-id').val(),data.node.id);

        }else{
        	if($('#role-id').val() == ""){
        		swal("请选择角色");
        	}
        }

    }).on("uncheck_node.jstree", function (e, data) {
 
    	if ($('#role-id').val() != "" && $('#func-ids').val().indexOf(data.node.id) > -1) {

        	removeRoleFunc($('#role-id').val(),data.node.id);
        }else{
        	if($('#role-id').val() == ""){
        		swal("请选择角色");
        	}
        }

}).jstree();
 
})

function createRoleFunc(roleId,funcId)
{
	
	$.myAjax('/hs/webrole/addRoleFunc',
			{
				roleId:roleId,
				funcId:funcId
			},
			'post',
			function(data){
				
				if (data.status==10001)
				{
					
					myNoty('绑定成功','success');
					
					var ids=[];
					for(var i=0;i<data.data.length;i++)
					{
						var id=data.data[i]
						addValToInput($('#func-ids'),id);
						ids.push(id);
					}
					
					$('#func-tree').jstree('check_node',ids);
				}
				else
				{
					myNoty('绑定失败','failed');
					
					$("#func-tree").jstree("uncheck_node", funcId);
				}
								
			},		
			
		    function () {
				showLoading('loadingFuncImg');
		    },
		    
		    function () {
		    	hideLoading('loadingFuncImg');
		    },function(){
		    	//window.location.reload();
		    }
	)

}


function removeRoleFunc(roleId,funcId)
{
	
	if($('#role-id').val()=='fc1516bd-e197-476e-8c43-56fb9345c0e3'){
		myNoty('系统管理员不允许解绑功能','failed');
		
		$("#func-tree").jstree("check_node", funcId);
		return;
	}
	
	
	$.myAjax('/hs/webrole/delRoleFunc',{
				roleId:roleId,
				funcId:funcId
			},
			'post',
			function(data){
				
				if (data.status==10001)
				{
					
					myNoty('解绑成功','success');
					
					removeValFromInput($('#func-ids'),funcId);
										
				}
				else
				{
					myNoty('解绑失败','failed');
					
					$("#func-tree").jstree("check_node", funcId);
				}
								
			},		
			
		    function () {
				showLoading('loadingFuncImg');
		    },
		    
		    function () {
		    	hideLoading('loadingFuncImg');
		    },function(){
		    	window.location.reload();
		    }
		)
}
